S/W 기본지식 (RDBMS · 파일시스템 · NTP)
NOTE
소프트웨어 기초. 관계형 데이터베이스(RDBMS)와 구성 요소·SQL, 파일 시스템의 개념·종류·구조, NTP 시간 동기화를 정리.
📌 개념
관계형 데이터베이스(RDBMS)
데이터를 항목별로 구분하여 테이블(표) 형태로 저장하고, 테이블 간 관계를 통해 데이터를 관리하는 데이터베이스이다.
핵심 구성 요소:
- 테이블(Table): 데이터를 행(Row)과 열(Column) 구조로 체계화
- 데이터베이스(Database): 관련 있는 테이블들을 모아둔 논리적 저장 공간
- 필드(Field): 테이블의 열(Column)
- 레코드(Record): 테이블의 행(Row). 튜플(Tuple)이라고도 함
- 키(Key): 각 레코드를 구분하기 위한 필드 값. 기본키 기준 중복 불가·NULL 불가
예시) 학생 테이블: 학번 → Primary Key(기본키), 이름·학과·학년 → 일반 필드
대표적인 관계형 DBMS
- Oracle, MySQL, SQL Server, PostgreSQL 등
- DB = 데이터 저장 구조 / DBMS = 데이터베이스를 관리하는 소프트웨어
Oracle Database
- 객체-관계형 데이터베이스 모델 지원
- 데이터 구성 개념: 개체(Entity) = 테이블, 속성(Attribute) = 컬럼, 관계(Relationship) = 테이블 간 연관성
- ER 다이어그램: 개체 간 관계를 시각적으로 표현. 데이터베이스 설계 단계에서 사용
SQL (Structured Query Language)
- 관계형 데이터베이스와 소통하기 위한 표준 언어
- 주요 역할 CRUD: Create(생성) / Read(조회) / Update(수정) / Delete(삭제)
- CRUD는 모든 사용자 인터페이스(UI)가 기본적으로 갖추어야 할 기능
MySQL 구조
표(Table) → 스키마(Database) → DB 서버- 스키마(Database): 여러 테이블을 묶어 관리하는 논리적 단위(“테이블들을 담는 폴더”)
- DB 서버: 여러 스키마(Database)를 포함
- 데이터베이스 사용 장점: 보안(데이터 접근 제어), 권한 관리(사용자별 읽기/쓰기/수정 권한 분리)
파일 시스템(File System)
컴퓨터에서 파일과 데이터를 효율적으로 저장·관리·검색하기 위한 방법이다. 계층적 디렉토리 구조를 사용한다.
- 개발 목적: HDD와 메인 메모리 간 속도 차이 완화, 파일 관리 효율성 향상, 대용량 저장장치 효과적 사용
- 종류: FAT/NTFS(Windows), EXT(Linux), HFS/HFS+(macOS), GFS(Google File System)
- 구조
- 메타 영역(Metadata Area): 파일 이름·권한·생성/수정 시간·위치 정보 → 파일 검색 시 사용
- 데이터 영역(Data Area): 실제 파일 내용 저장
NTP (Network Time Protocol)
네트워크를 통해 시스템 시간을 동기화하는 프로토콜로, 서버 간 시간 오차를 최소화한다.
- 중요한 이유: 로그 타임라인 정확성, 인증/보안 시스템 정상 동작, 분산 시스템 동기화
전체 개념 흐름 요약
- 데이터 저장: 파일 → 파일 시스템 / 구조화된 데이터 → 관계형 데이터베이스
- 관리 방식: 파일 시스템 = OS 레벨 관리 / DB = DBMS + SQL로 관리
- 시간 동기화: NTP로 서버 간 시간 일관성 유지
💻 예시
파일 시스템 관련 명령어
fdisk -l # 추가된 디스크, 파티션 확인
df -h # 마운트 상태, 디스크 사용률 확인